[INFO] cloning repository https://github.com/sagikazarmark/anyllm
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sagikazarmark/anyllm" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsagikazarmark%2Fanyllm", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsagikazarmark%2Fanyllm'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] bd71e541a84e5e602366d01b4bd8744c6098092c
[INFO] testing sagikazarmark/anyllm against try#b8e88e5ddf5521a9f43ee3f62a702388c713e4bb for pr-155114
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsagikazarmark%2Fanyllm" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/sagikazarmark/anyllm
[INFO] finished tweaking git repo https://github.com/sagikazarmark/anyllm
[INFO] tweaked toml for git repo https://github.com/sagikazarmark/anyllm written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/sagikazarmark/anyllm on toolchain b8e88e5ddf5521a9f43ee3f62a702388c713e4bb
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/sagikazarmark/anyllm already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a68adca139ae93393840073744d2b94abab562fa31f11924c79d311a4d5a26a0
[INFO] running `Command { std: "docker" "start" "-a" "a68adca139ae93393840073744d2b94abab562fa31f11924c79d311a4d5a26a0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a68adca139ae93393840073744d2b94abab562fa31f11924c79d311a4d5a26a0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a68adca139ae93393840073744d2b94abab562fa31f11924c79d311a4d5a26a0", kill_on_drop: false }`
[INFO] [stdout] a68adca139ae93393840073744d2b94abab562fa31f11924c79d311a4d5a26a0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 92ed9186dae11b915d3ce3e43684c82a733752c7c9ed2425c7fe4a965757b11f
[INFO] running `Command { std: "docker" "start" "-a" "92ed9186dae11b915d3ce3e43684c82a733752c7c9ed2425c7fe4a965757b11f", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling libc v0.2.185
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.118
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling bumpalo v3.20.2
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling wasm-bindgen v0.2.118
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling aws-lc-rs v1.16.3
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling typeid v1.0.3
[INFO] [stderr]    Compiling rustls v0.23.38
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling erased-serde v0.4.10
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling openssl-probe v0.2.1
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling iri-string v0.7.12
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling matchit v0.8.4
[INFO] [stderr]    Compiling send_wrapper v0.6.0
[INFO] [stderr]    Compiling rustls-native-certs v0.8.3
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling cc v1.2.60
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling eventsource-stream v0.2.3
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling aws-lc-sys v0.40.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.118
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling schemars_derive v1.2.1
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling pin-project-internal v1.1.11
[INFO] [stderr]    Compiling tokio v1.52.1
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling pin-project v1.1.11
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.118
[INFO] [stderr]    Compiling schemars v1.2.1
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling anyllm v0.1.1 (/opt/rustwide/workdir/crates/anyllm)
[INFO] [stderr]    Compiling js-sys v0.3.95
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling axum v0.8.9
[INFO] [stderr]    Compiling web-sys v0.3.95
[INFO] [stderr]    Compiling wasm-bindgen-futures v0.4.68
[INFO] [stderr]    Compiling serde-wasm-bindgen v0.6.5
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling anyllm-conformance v0.1.1 (/opt/rustwide/workdir/crates/anyllm-conformance)
[INFO] [stderr]    Compiling worker-sys v0.8.1
[INFO] [stderr]    Compiling wasm-streams v0.5.0
[INFO] [stderr]    Compiling worker-macros v0.8.1
[INFO] [stderr]    Compiling worker v0.8.1
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling rustls-platform-verifier v0.6.2
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.13.3
[INFO] [stderr]    Compiling anyllm-cloudflare-worker v0.1.1 (/opt/rustwide/workdir/crates/anyllm-cloudflare-worker)
[INFO] [stderr]    Compiling anyllm-openai-compat v0.1.1 (/opt/rustwide/workdir/crates/anyllm-openai-compat)
[INFO] [stderr]    Compiling anyllm-anthropic v0.1.1 (/opt/rustwide/workdir/crates/anyllm-anthropic)
[INFO] [stderr]    Compiling anyllm-gemini v0.1.1 (/opt/rustwide/workdir/crates/anyllm-gemini)
[INFO] [stderr]    Compiling anyllm-openai v0.1.1 (/opt/rustwide/workdir/crates/anyllm-openai)
[INFO] [stderr]    Compiling anyllm-examples v0.1.1 (/opt/rustwide/workdir/crates/anyllm-examples)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 32s
[INFO] running `Command { std: "docker" "inspect" "92ed9186dae11b915d3ce3e43684c82a733752c7c9ed2425c7fe4a965757b11f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "92ed9186dae11b915d3ce3e43684c82a733752c7c9ed2425c7fe4a965757b11f", kill_on_drop: false }`
[INFO] [stdout] 92ed9186dae11b915d3ce3e43684c82a733752c7c9ed2425c7fe4a965757b11f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5a04ff8c127b0461e3ded723b1b346c7a09e4514be9bc892cbe1a983ff79cf3e
[INFO] running `Command { std: "docker" "start" "-a" "5a04ff8c127b0461e3ded723b1b346c7a09e4514be9bc892cbe1a983ff79cf3e", kill_on_drop: false }`
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling alloca v0.4.0
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling page_size v0.6.0
[INFO] [stderr]    Compiling rustls-platform-verifier v0.6.2
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling worker v0.8.1
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling criterion-plot v0.8.2
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.13.3
[INFO] [stderr]    Compiling axum v0.8.9
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling anyllm-cloudflare-worker v0.1.1 (/opt/rustwide/workdir/crates/anyllm-cloudflare-worker)
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling anyllm-openai-compat v0.1.1 (/opt/rustwide/workdir/crates/anyllm-openai-compat)
[INFO] [stderr]    Compiling anyllm-anthropic v0.1.1 (/opt/rustwide/workdir/crates/anyllm-anthropic)
[INFO] [stderr]    Compiling anyllm-gemini v0.1.1 (/opt/rustwide/workdir/crates/anyllm-gemini)
[INFO] [stderr]    Compiling anyllm-openai v0.1.1 (/opt/rustwide/workdir/crates/anyllm-openai)
[INFO] [stderr]    Compiling anyllm-examples v0.1.1 (/opt/rustwide/workdir/crates/anyllm-examples)
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling anyllm-conformance v0.1.1 (/opt/rustwide/workdir/crates/anyllm-conformance)
[INFO] [stderr]    Compiling criterion v0.8.2
[INFO] [stderr]    Compiling anyllm v0.1.1 (/opt/rustwide/workdir/crates/anyllm)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 19s
[INFO] running `Command { std: "docker" "inspect" "5a04ff8c127b0461e3ded723b1b346c7a09e4514be9bc892cbe1a983ff79cf3e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5a04ff8c127b0461e3ded723b1b346c7a09e4514be9bc892cbe1a983ff79cf3e", kill_on_drop: false }`
[INFO] [stdout] 5a04ff8c127b0461e3ded723b1b346c7a09e4514be9bc892cbe1a983ff79cf3e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] aa1cb82f1ac844b40c07337b58379c306d12e8544f210adeff629155f0b52a38
[INFO] running `Command { std: "docker" "start" "-a" "aa1cb82f1ac844b40c07337b58379c306d12e8544f210adeff629155f0b52a38", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.48s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/anyllm-2bcb187f94bc663d)
[INFO] [stdout] 
[INFO] [stdout] running 311 tests
[INFO] [stdout] test capability::tests::is_known_matches_supported_and_unsupported ... ok
[INFO] [stdout] test capability::tests::is_supported_matches_only_supported ... ok
[INFO] [stdout] test chat::content::tests::deserialize_rejects_duplicate_known_field ... ok
[INFO] [stdout] test chat::content::tests::display_reasoning_long_truncated ... ok
[INFO] [stdout] test chat::content::tests::display_tool_call_short_args ... ok
[INFO] [stdout] test chat::content::tests::display_tool_call_long_args_truncated ... ok
[INFO] [stdout] test chat::content::tests::display_truncation_preserves_char_boundaries ... ok
[INFO] [stdout] test chat::content::tests::image_serde_round_trip ... ok
[INFO] [stdout] test chat::content::tests::serializing_other_rejects_reserved_type_key_in_data ... ok
[INFO] [stdout] test chat::content::tests::image_accessor_exposes_source ... ok
[INFO] [stdout] test chat::content::tests::owned_tool_call_parse_arguments ... ok
[INFO] [stdout] test chat::content::tests::tool_call_ref_parse_arguments_invalid ... ok
[INFO] [stdout] test chat::content::tests::unknown_block_round_trips_known_and_unknown_fields ... ok
[INFO] [stdout] test chat::content::tests::tool_call_serde_round_trip ... ok
[INFO] [stdout] test chat::extract::tests::extract_auto_needs_orchestration_when_request_already_has_tools ... ok
[INFO] [stdout] test chat::extract::tests::extract_auto_falls_back_to_forced_tool_strategy ... ok
[INFO] [stdout] test chat::extract::tests::extract_preserves_metadata_and_usage ... ok
[INFO] [stdout] test chat::extract::tests::extract_auto_returns_unsupported_when_provider_has_no_extraction_capability ... ok
[INFO] [stdout] test chat::extract::tests::extraction_request_builder_helpers_match_chat_request_message_shape ... ok
[INFO] [stdout] test chat::extract::tests::extracting_provider_strips_tools_and_options_from_request ... ok
[INFO] [stdout] test chat::content::tests::deserialize_rejects_duplicate_type_field ... ok
[INFO] [stdout] test chat::extract::tests::extract_uses_native_strategy_when_supported ... ok
[INFO] [stdout] test chat::content::tests::display_reasoning_short ... ok
[INFO] [stdout] test chat::extract::tests::extract_returns_error_extract_for_parse_failure ... ok
[INFO] [stdout] test chat::extract::tests::extraction_request_from_chat_request_preserves_model_and_messages ... ok
[INFO] [stdout] test chat::extract::tests::extract_auto_uses_forced_tool_when_structured_output_is_unknown ... ok
[INFO] [stdout] test chat::extract::tests::extraction_schema_name_sanitizes_type_names ... ok
[INFO] [stdout] test chat::extract::tests::extraction_schema_name_prefers_schema_title_then_falls_back ... ok
[INFO] [stdout] test chat::extract::tests::extraction_request_into_chat_request_reuses_only_model_and_messages ... ok
[INFO] [stdout] test chat::extract::tests::extractor_extracts_from_extraction_request_using_native_strategy ... ok
[INFO] [stdout] test chat::extract::tests::extraction_mode_request_option_overrides_auto ... ok
[INFO] [stdout] test chat::extract::tests::extractor_accepts_borrowed_chat_request_directly ... ok
[INFO] [stdout] test chat::extract::tests::non_parse_errors_do_not_expose_raw_output ... ok
[INFO] [stdout] test chat::content::tests::deserialize_rejects_non_string_known_field ... ok
[INFO] [stdout] test chat::extract::tests::extractor_extracts_from_extraction_request_using_forced_tool ... ok
[INFO] [stdout] test chat::extract::tests::forced_tool_extraction_ignores_non_extraction_tool_calls ... ok
[INFO] [stdout] test chat::extract::tests::multishape_extract_can_parse_untagged_enum_but_we_do_not_prefer_it ... ok
[INFO] [stdout] test chat::extract::tests::multishape_extract_supports_adjacently_tagged_enum ... ok
[INFO] [stdout] test chat::extract::tests::parse_errors_expose_raw_output_and_display_message ... ok
[INFO] [stdout] test chat::extract::tests::forced_tool_extraction_errors_when_expected_tool_call_missing ... ok
[INFO] [stdout] test chat::fallback::tests::default_policy_falls_back_for_transient_and_alternate_provider_cases ... ok
[INFO] [stdout] test chat::fallback::tests::default_policy_rejects_extract_errors ... ok
[INFO] [stdout] test chat::content::tests::tool_call_ref_parse_arguments_valid ... ok
[INFO] [stdout] test chat::extract::tests::multishape_extract_supports_internally_tagged_enum_in_native_mode ... ok
[INFO] [stdout] test chat::extract::tests::forced_tool_extraction_errors_when_multiple_expected_tool_calls_exist ... ok
[INFO] [stdout] test chat::extract::tests::multishape_extract_supports_internally_tagged_enum_in_forced_tool_mode ... ok
[INFO] [stdout] test chat::fallback::tests::default_policy_rejects_non_fallback_errors ... ok
[INFO] [stdout] test chat::fallback::tests::does_not_fallback_for_non_eligible_stream_setup_error ... ok
[INFO] [stdout] test chat::fallback::tests::primary_unsupported_capability_dominates_fallback_support ... ok
[INFO] [stdout] test chat::fallback::tests::reports_supported_only_when_both_providers_support_capability ... ok
[INFO] [stdout] test chat::fallback::tests::does_not_fallback_on_non_eligible_chat_error ... ok
[INFO] [stdout] test chat::fallback::tests::midstream_errors_do_not_trigger_fallback ... ok
[INFO] [stdout] test chat::fallback::tests::reports_primary_identity_and_capabilities ... ok
[INFO] [stdout] test chat::message::tests::content_part_accessors_expose_borrowed_views ... ok
[INFO] [stdout] test chat::fallback::tests::returns_fallback_stream_for_eligible_stream_setup_error ... ok
[INFO] [stdout] test chat::message::tests::content_part_deserialize_rejects_duplicate_known_field ... ok
[INFO] [stdout] test chat::fallback::tests::returns_primary_response_without_using_fallback ... ok
[INFO] [stdout] test chat::fallback::tests::eligible_chat_fallback_propagates_fallback_error ... ok
[INFO] [stdout] test chat::message::tests::content_part_other_rejects_reserved_type_key_in_data ... ok
[INFO] [stdout] test chat::message::tests::content_part_rejects_invalid_shapes ... ok
[INFO] [stdout] test chat::message::tests::display_handles_multimodal_and_non_text_assistant_content ... ok
[INFO] [stdout] test chat::message::tests::message_accessors_expose_borrowed_views ... ok
[INFO] [stdout] test chat::message::tests::content_part_round_trips_known_and_unknown_variants ... ok
[INFO] [stdout] test chat::message::tests::display_truncates_joined_text_without_allocating_full_output ... ok
[INFO] [stdout] test chat::message::tests::message_deserialize_prefers_explicit_extensions_over_implicit_unknown_fields ... ok
[INFO] [stdout] test chat::message::tests::message_role_parser_rejects_system ... ok
[INFO] [stdout] test chat::message::tests::message_deserialize_accepts_legacy_extra_field ... ok
[INFO] [stdout] test chat::message::tests::message_with_extension_works_on_all_variants ... ok
[INFO] [stdout] test chat::message::tests::tool_error_sets_is_error_flag ... ok
[INFO] [stdout] test chat::message::tests::tool_message_deserializes_multimodal_content ... ok
[INFO] [stdout] test chat::message::tests::message_deserialize_invalid_cases_report_consistent_errors ... ok
[INFO] [stdout] test chat::message::tests::message_deserialize_rejects_system_role ... ok
[INFO] [stdout] test chat::message::tests::message_deserialize_rejects_duplicate_known_field ... ok
[INFO] [stdout] test chat::message::tests::user_accepts_multimodal_content_via_into_user_content ... ok
[INFO] [stdout] test chat::message::tests::message_deserialize_user_multimodal_preserves_name_and_extensions ... ok
[INFO] [stdout] test chat::mock::tests::mock_chat_provider_empty_can_be_queued_incrementally ... ok
[INFO] [stdout] test chat::mock::tests::mock_chat_provider_chat_stream_propagates_chat_errors ... ok
[INFO] [stdout] test chat::message::tests::message_deserialize_preserves_extensions ... ok
[INFO] [stdout] test chat::mock::tests::mock_chat_provider_records_requests_and_returns_responses ... ok
[INFO] [stdout] test chat::mock::tests::mock_chat_provider_from_tool_round_trips_flattens_multiple_turns ... ok
[INFO] [stdout] test chat::mock::tests::mock_response_reasoning_text_builds_reasoning_and_text ... ok
[INFO] [stdout] test chat::mock::tests::mock_response_tool_call_sets_tool_finish_reason ... ok
[INFO] [stdout] test chat::mock::tests::mock_streaming_provider_defaults_to_native_streaming_supported ... ok
[INFO] [stdout] test chat::mock::tests::response_builder_builds_tool_calls_and_usage ... ok
[INFO] [stdout] test chat::mock::tests::mock_stream_event_text_response_builds_collectable_transcript ... ok
[INFO] [stdout] test chat::mock::tests::mock_streaming_provider_with_tool_call_convenience_sets_tool_finish_reason ... ok
[INFO] [stdout] test chat::mock::tests::mock_stream_event_reasoning_response_builds_collectable_transcript ... ok
[INFO] [stdout] test chat::mock::tests::mock_chat_provider_supports_delayed_errors ... ok
[INFO] [stdout] test chat::mock::tests::mock_streaming_provider_from_response_replays_normalized_stream ... ok
[INFO] [stdout] test chat::mock::tests::mock_streaming_provider_from_responses_replays_multiple_transcripts ... ok
[INFO] [stdout] test chat::mock::tests::mock_streaming_provider_collects_streams ... ok
[INFO] [stdout] test chat::provider::tests::ask_errors_for_no_text ... ok
[INFO] [stdout] test chat::provider::tests::ask_with_system_propagates_chat_errors ... ok
[INFO] [stdout] test chat::provider::tests::ask_propagates_chat_errors ... ok
[INFO] [stdout] test chat::provider::tests::ask_with_system_returns_text ... ok
[INFO] [stdout] test chat::provider::tests::ask_returns_text ... ok
[INFO] [stdout] test chat::provider::tests::closure_chat_capability_resolver_returns_custom_answer ... ok
[INFO] [stdout] test chat::provider::tests::dyn_provider_chat_stream_erases_stream_type ... ok
[INFO] [stdout] test chat::provider::tests::dyn_provider_from_arc ... ok
[INFO] [stdout] test chat::provider::tests::ask_with_system_errors_for_no_text ... ok
[INFO] [stdout] test chat::provider::tests::trait_default_methods_return_defaults ... ok
[INFO] [stdout] test chat::request::tests::chat_request_clone_preserves_system ... ok
[INFO] [stdout] test chat::request::tests::chat_request_new_has_empty_system ... ok
[INFO] [stdout] test chat::provider::tests::forwarding_impls_delegate_to_inner_provider ... ok
[INFO] [stdout] test chat::request::tests::chat_request_record_serde_skips_empty_system ... ok
[INFO] [stdout] test chat::provider::tests::dyn_provider_is_cloneable ... ok
[INFO] [stdout] test chat::provider::tests::dyn_provider_from_concrete ... ok
[INFO] [stdout] test chat::provider::tests::trait_default_returns_unknown_for_native_streaming ... ok
[INFO] [stdout] test chat::request::tests::chat_request_record_preserves_system ... ok
[INFO] [stdout] test chat::request::tests::chat_request_record_serde_round_trip_with_system ... ok
[INFO] [stdout] test chat::request::tests::chat_request_system_field_holds_prompts ... ok
[INFO] [stdout] test chat::request::tests::messages_builder_replaces_vec ... ok
[INFO] [stdout] test chat::request::tests::full_builder_chain ... ok
[INFO] [stdout] test chat::request::tests::reasoning_effort_converts_to_enabled_reasoning_config ... ok
[INFO] [stdout] test chat::request::tests::push_helpers_append_messages_in_place ... ok
[INFO] [stdout] test chat::request::tests::request_record_from_owned_matches_lossy_helper ... ok
[INFO] [stdout] test chat::request::tests::record_helpers_preserve_portable_fields ... ok
[INFO] [stdout] test chat::request::tests::request_record_lossy_rebuild_drops_all_typed_options ... ok
[INFO] [stdout] test chat::request::tests::request_record_round_trip_preserves_portable_fields ... ok
[INFO] [stdout] test chat::request::tests::request_record_round_trip_preserves_all_portable_fields_and_drops_options ... ok
[INFO] [stdout] test chat::request::tests::request_record_serde_skips_absent_optional_fields ... ok
[INFO] [stdout] test chat::request::tests::stop_normalizes_empty_sequences_to_none ... ok
[INFO] [stdout] test chat::request::tests::system_builder_accepts_str ... ok
[INFO] [stdout] test chat::request::tests::system_builder_appends_multiple ... ok
[INFO] [stdout] test chat::request::tests::request_record_serde_round_trip_preserves_portable_fields ... ok
[INFO] [stdout] test chat::request::tests::system_builder_accepts_system_prompt ... ok
[INFO] [stdout] test chat::request::tests::tools_normalize_empty_collection_to_none ... ok
[INFO] [stdout] test chat::request::tests::user_and_assistant_shorthands_append_messages ... ok
[INFO] [stdout] test chat::response::tests::chat_response_debug_is_lossy_for_metadata_key_collisions ... ok
[INFO] [stdout] test chat::response::tests::finish_reason_known_values_round_trip ... ok
[INFO] [stdout] test chat::response::tests::chat_response_debug_is_lossy_for_unserializable_metadata ... ok
[INFO] [stdout] test chat::response::tests::finish_reason_unknown_strings_round_trip_through_helpers ... ok
[INFO] [stdout] test chat::response::tests::first_reasoning_returns_first_reasoning_block ... ok
[INFO] [stdout] test chat::response::tests::first_text_returns_none_when_no_text ... ok
[INFO] [stdout] test chat::response::tests::first_text_returns_first_text_block ... ok
[INFO] [stdout] test chat::response::tests::first_tool_call_returns_first_tool_call_block ... ok
[INFO] [stdout] test chat::response::tests::from_chat_response_for_message ... ok
[INFO] [stdout] test chat::response::tests::from_chat_response_ref_for_message ... ok
[INFO] [stdout] test chat::response::tests::has_tool_calls_false_when_absent ... ok
[INFO] [stdout] test chat::response::tests::has_tool_calls_true_when_present ... ok
[INFO] [stdout] test chat::response::tests::into_assistant_message_consumes_response ... ok
[INFO] [stdout] test chat::response::tests::reasoning_text_returns_none_when_no_reasoning ... ok
[INFO] [stdout] test chat::response::tests::metadata_serializes_into_log_output ... ok
[INFO] [stdout] test chat::response::tests::reasoning_text_concatenates_reasoning_blocks ... ok
[INFO] [stdout] test chat::response::tests::response_record_from_is_lossy_for_metadata_key_collisions ... ok
[INFO] [stdout] test chat::response::tests::response_record_deserialize_defaults_missing_metadata_to_empty_map ... ok
[INFO] [stdout] test chat::response::tests::response_record_from_owned_matches_lossy_helper ... ok
[INFO] [stdout] test chat::response::tests::response_record_from_is_lossy_for_unserializable_metadata ... ok
[INFO] [stdout] test chat::response::tests::response_record_helpers_preserve_portable_fields ... ok
[INFO] [stdout] test chat::response::tests::response_record_preserves_metadata_json_for_logging ... ok
[INFO] [stdout] test chat::response::tests::response_record_try_from_preserves_metadata_json_for_logging ... ok
[INFO] [stdout] test chat::response::tests::response_record_try_from_response_returns_error_for_metadata_key_collisions ... ok
[INFO] [stdout] test chat::response::tests::response_record_round_trip_preserves_portable_fields_but_not_typed_metadata ... ok
[INFO] [stdout] test chat::provider::tests::dyn_provider_chat_stream_propagates_errors ... ok
[INFO] [stdout] test chat::response::tests::text_returns_none_for_empty_content ... ok
[INFO] [stdout] test chat::provider::tests::dyn_provider_debug_includes_provider_name ... ok
[INFO] [stdout] test chat::response::tests::text_or_empty_returns_empty_when_no_text ... ok
[INFO] [stdout] test chat::response::tests::text_or_empty_returns_text_when_present ... ok
[INFO] [stdout] test chat::response::tests::response_record_try_from_response_returns_error_for_unserializable_metadata ... ok
[INFO] [stdout] test chat::response::tests::response_record_serde_skips_absent_optional_fields_and_empty_metadata ... ok
[INFO] [stdout] test chat::response::tests::text_returns_none_when_no_text_blocks ... ok
[INFO] [stdout] test chat::response::tests::text_concatenates_multiple_text_blocks ... ok
[INFO] [stdout] test chat::response::tests::to_assistant_message_preserves_all_blocks ... ok
[INFO] [stdout] test chat::response::tests::to_log_value_is_lossy_for_metadata_key_collisions ... ok
[INFO] [stdout] test chat::response::tests::tool_calls_returns_iterator_over_tool_call_blocks ... ok
[INFO] [stdout] test chat::response::tests::to_log_value_is_lossy_for_unserializable_typed_metadata ... ok
[INFO] [stdout] test chat::response::tests::try_to_log_value_returns_error_for_metadata_key_collisions ... ok
[INFO] [stdout] test chat::response::tests::write_text_to_appends_all_text_segments ... ok
[INFO] [stdout] test chat::retry::tests::exponential_backoff_grows_and_caps ... ok
[INFO] [stdout] test chat::response::tests::write_reasoning_text_to_appends_all_reasoning_segments ... ok
[INFO] [stdout] test chat::retry::tests::does_not_retry_non_retryable_error ... ok
[INFO] [stdout] test chat::retry::tests::custom_should_retry_can_disable_retrying ... ok
[INFO] [stdout] test chat::retry::tests::chat_stream_is_not_retried ... ok
[INFO] [stdout] test chat::retry::tests::rate_limit_retry_after_is_clamped_by_max_delay ... ok
[INFO] [stdout] test chat::retry::tests::retry_after_hint_can_be_ignored ... ok
[INFO] [stdout] test chat::retry::tests::retries_retryable_error_until_success ... ok
[INFO] [stdout] test chat::retry::tests::wrapper_accessors_expose_policy_and_ownership_recovery ... ok
[INFO] [stdout] test chat::stream::tests::chat_stream_ext_collect_partial_preserves_complete_streams ... ok
[INFO] [stdout] test chat::retry::tests::custom_should_retry_can_enable_retrying_for_non_retryable_error ... ok
[INFO] [stdout] test chat::stream::tests::chat_response_into_stream_events_emits_same_normalized_sequence ... ok
[INFO] [stdout] test chat::retry::tests::zero_max_attempts_is_normalized_to_one_attempt ... ok
[INFO] [stdout] test chat::stream::tests::chat_response_into_stream_preserves_portable_metadata_but_drops_typed_entries ... ok
[INFO] [stdout] test chat::retry::tests::reports_inner_identity_and_capabilities ... ok
[INFO] [stdout] test chat::stream::tests::chat_response_into_stream_round_trips_full_response ... ok
[INFO] [stdout] test chat::retry::tests::stops_after_max_attempts ... ok
[INFO] [stdout] test chat::stream::tests::chat_stream_ext_collect_partial_recovers_terminal_stream_error ... ok
[INFO] [stdout] test chat::stream::tests::chat_stream_ext_collect_response ... ok
[INFO] [stdout] test chat::stream::tests::chat_stream_ext_propagates_stream_errors ... ok
[INFO] [stdout] test chat::stream::tests::collector_accumulates_reasoning_and_signature ... ok
[INFO] [stdout] test chat::stream::tests::collector_accumulates_usage_for_delta_metadata ... ok
[INFO] [stdout] test chat::stream::tests::collector_defaults_empty_tool_call_arguments_to_empty_object ... ok
[INFO] [stdout] test chat::stream::tests::collector_errors_on_mismatched_delta_type ... ok
[INFO] [stdout] test chat::stream::tests::collector_finish_partial_reports_incomplete_stream ... ok
[INFO] [stdout] test chat::stream::tests::collector_finish_requires_explicit_response_stop ... ok
[INFO] [stdout] test chat::stream::tests::collector_finish_errors_on_open_reasoning_block ... ok
[INFO] [stdout] test chat::stream::tests::collector_finish_errors_on_open_text_block ... ok
[INFO] [stdout] test chat::stream::tests::collector_finish_errors_on_open_tool_call_block ... ok
[INFO] [stdout] test chat::stream::tests::collector_finish_errors_on_tool_call_missing_name ... ok
[INFO] [stdout] test chat::stream::tests::collector_late_block_start_preserves_prior_text_delta ... ok
[INFO] [stdout] test chat::stream::tests::collector_finish_errors_on_open_other_block ... ok
[INFO] [stdout] test chat::stream::tests::collector_finish_partial_drops_incomplete_tool_call ... ok
[INFO] [stdout] test chat::stream::tests::collector_late_tool_call_start_merges_missing_identity ... ok
[INFO] [stdout] test chat::stream::tests::collector_merges_metadata_chunks_and_latest_identity_wins ... ok
[INFO] [stdout] test chat::stream::tests::collector_other_block_preserves_explicit_type_and_data ... ok
[INFO] [stdout] test chat::stream::tests::collector_preserves_metadata ... ok
[INFO] [stdout] test chat::stream::tests::collector_rejects_duplicate_block_stop_for_same_index ... ok
[INFO] [stdout] test chat::stream::tests::collector_push_ref_matches_owned_push_for_late_tool_call_start ... ok
[INFO] [stdout] test chat::stream::tests::collector_rejects_duplicate_response_stop ... ok
[INFO] [stdout] test chat::stream::tests::collector_rejects_conflicting_tool_call_start_metadata ... ok
[INFO] [stdout] test chat::stream::tests::collector_other_block_defaults_type_name_and_data ... ok
[INFO] [stdout] test chat::stream::tests::collector_rejects_duplicate_block_start_for_same_index ... ok
[INFO] [stdout] test chat::stream::tests::collector_rejects_events_after_response_stop ... ok
[INFO] [stdout] test chat::stream::tests::collector_text_accumulation ... ok
[INFO] [stdout] test chat::stream::tests::collector_replaces_usage_for_snapshot_metadata ... ok
[INFO] [stdout] test chat::stream::tests::collector_tool_call_reassembly_with_interleaving ... ok
[INFO] [stdout] test chat::stream::tests::collector_reconstructs_image_block_from_start_data ... ok
[INFO] [stdout] test chat::stream::tests::response_stream_event_iter_preserves_portable_metadata ... ok
[INFO] [stdout] test chat::stream::tests::single_response_stream_yields_only_ok_events ... ok
[INFO] [stdout] test chat::system::tests::system_options_contains_and_is_empty ... ok
[INFO] [stdout] test chat::system::tests::system_options_get_mut_modifies_in_place ... ok
[INFO] [stdout] test chat::stream::tests::single_response_stream_round_trips_full_response ... ok
[INFO] [stdout] test chat::system::tests::system_options_get_or_insert_with_inserts_when_missing ... ok
[INFO] [stdout] test chat::system::tests::system_options_get_or_insert_with_does_not_invoke_when_present ... ok
[INFO] [stdout] test chat::system::tests::system_options_insert_and_get ... ok
[INFO] [stdout] test chat::system::tests::system_options_insert_replaces_same_type ... ok
[INFO] [stdout] test chat::system::tests::system_options_remove_returns_value ... ok
[INFO] [stdout] test chat::system::tests::system_prompt_serde_deserialize_defaults_options_empty ... ok
[INFO] [stdout] test chat::system::tests::system_options_stores_multiple_types ... ok
[INFO] [stdout] test chat::system::tests::system_prompt_clone_preserves_options ... ok
[INFO] [stdout] test chat::system::tests::system_prompt_from_str_and_string ... ok
[INFO] [stdout] test chat::system::tests::system_prompt_new_preserves_content ... ok
[INFO] [stdout] test chat::system::tests::system_prompt_serde_omits_options ... ok
[INFO] [stdout] test chat::system::tests::system_prompt_with_multiple_options ... ok
[INFO] [stdout] test chat::system::tests::system_prompt_with_option_round_trips ... ok
[INFO] [stdout] test chat::tool::tests::tool_choice_serde_round_trip ... ok
[INFO] [stdout] test chat::tool::tests::tool_serde_round_trip ... ok
[INFO] [stdout] test chat::tool::tests::tool_serde_skips_none_fields ... ok
[INFO] [stdout] test embedding::mock::embedding_mock_tests::mock_embedding_provider_exposes_provider_identity_and_capabilities ... ok
[INFO] [stdout] test chat::tool::tests::tool_serde_skips_empty_extensions ... ok
[INFO] [stdout] test embedding::mock::embedding_mock_tests::mock_embedding_provider_returns_queued_error ... ok
[INFO] [stdout] test embedding::mock::embedding_mock_tests::mock_embedding_provider_returns_queued_response ... ok
[INFO] [stdout] test embedding::provider::dyn_tests::dyn_provider_from_arc_is_cloneable ... ok
[INFO] [stdout] test embedding::provider::dyn_tests::dyn_provider_from_concrete_forwards_calls ... ok
[INFO] [stdout] test embedding::mock::embedding_mock_tests::mock_embedding_provider_reports_exhaustion ... ok
[INFO] [stdout] test embedding::mock::embedding_mock_tests::mock_embedding_provider_returns_responses_in_order ... ok
[INFO] [stdout] test embedding::provider::dyn_tests::dyn_provider_debug_includes_provider_name ... ok
[INFO] [stdout] test embedding::provider::ext_tests::embed_text_sends_single_input_and_returns_vector ... ok
[INFO] [stdout] test embedding::provider::ext_tests::embed_text_errors_when_response_has_no_vectors ... ok
[INFO] [stdout] test embedding::provider::provider_tests::arc_forwards_embed_and_capability ... ok
[INFO] [stdout] test embedding::provider::provider_tests::default_capability_method_returns_unknown ... ok
[INFO] [stdout] test embedding::provider::provider_tests::box_forwards_embed ... ok
[INFO] [stdout] test embedding::provider::provider_tests::ref_forwards_embed ... ok
[INFO] [stdout] test embedding::provider::provider_tests::direct_impl_returns_response ... ok
[INFO] [stdout] test embedding::request::request_tests::builder_sets_model_and_inputs ... ok
[INFO] [stdout] test embedding::request::request_tests::dimensions_setter_stores_value ... ok
[INFO] [stdout] test embedding::request::request_tests::inputs_replaces_existing ... ok
[INFO] [stdout] test embedding::response::response_tests::response_builder_sets_fields ... ok
[INFO] [stdout] test embedding::request::request_tests::typed_options_round_trip ... ok
[INFO] [stdout] test embedding::response::response_tests::capability_is_copy_and_hashable ... ok
[INFO] [stdout] test error::tests::context_length_exceeded_logs_max_tokens ... ok
[INFO] [stdout] test error::tests::fallback_error_logs_both_primary_and_fallback_failures ... ok
[INFO] [stdout] test error::tests::is_auth_delegates_through_fallback ... ok
[INFO] [stdout] test error::tests::extract_errors_are_non_retryable_and_expose_source ... ok
[INFO] [stdout] test error::tests::is_auth_matches_auth_variant_only ... ok
[INFO] [stdout] test embedding::response::response_tests::to_log_value_serializes_portable_shape ... ok
[INFO] [stdout] test error::tests::is_transient_covers_only_canonical_transient_variants ... ok
[INFO] [stdout] test error::tests::provider_errors_handle_status_retryability_and_redaction ... ok
[INFO] [stdout] test error::tests::serialization_errors_wrap_source_and_log_message ... ok
[INFO] [stdout] test identity::tests::arc_forwarding_delegates ... ok
[INFO] [stdout] test error::tests::simple_error_variants_have_expected_behavior ... ok
[INFO] [stdout] test identity::tests::concrete_impl_returns_configured_name ... ok
[INFO] [stdout] test identity::tests::default_method_returns_unknown ... ok
[INFO] [stdout] test identity::tests::ref_forwarding_delegates ... ok
[INFO] [stdout] test options::tests::request_options_clone_is_independent ... ok
[INFO] [stdout] test error::tests::is_transient_delegates_through_fallback ... ok
[INFO] [stdout] test error::tests::rate_limit_and_overload_errors_include_metadata ... ok
[INFO] [stdout] test options::tests::request_options_get_or_insert_with_inserts_when_missing ... ok
[INFO] [stdout] test options::tests::request_options_insert_get_get_mut_remove ... ok
[INFO] [stdout] test options::tests::request_options_len_and_is_empty_track_changes ... ok
[INFO] [stdout] test options::tests::response_metadata_clone_is_independent_and_preserves_json ... ok
[INFO] [stdout] test options::tests::response_metadata_portable_entries_can_override_typed_serialization ... ok
[INFO] [stdout] test options::tests::response_metadata_len_counts_unique_keys_without_serializing ... ok
[INFO] [stdout] test options::tests::response_metadata_portable_entries_round_trip ... ok
[INFO] [stdout] test options::tests::response_metadata_serialize_fails_for_portable_typed_key_collisions ... ok
[INFO] [stdout] test options::tests::response_metadata_to_portable_map_skips_unserializable_typed_entries ... ok
[INFO] [stdout] test options::tests::response_metadata_serialize_fails_for_unserializable_typed_entries ... ok
[INFO] [stdout] test options::tests::response_metadata_try_to_portable_map_reports_serialization_errors ... ok
[INFO] [stdout] test usage::tests::add_assign_none_plus_some ... ok
[INFO] [stdout] test options::tests::response_metadata_try_to_portable_map_reports_key_collisions ... ok
[INFO] [stdout] test usage::tests::add_none_plus_none_is_none ... ok
[INFO] [stdout] test usage::tests::add_none_plus_some_is_some ... ok
[INFO] [stdout] test usage::tests::add_some_plus_some_sums ... ok
[INFO] [stdout] test usage::tests::serde_round_trip_handles_full_and_sparse_usage ... ok
[INFO] [stdout] test usage::tests::total_falls_back_to_input_plus_output ... ok
[INFO] [stdout] test usage::tests::total_prefers_total_tokens_when_set ... ok
[INFO] [stdout] test usage::tests::total_returns_none_without_complete_token_totals ... ok
[INFO] [stdout] test chat::stream::tests::response_stream_event_iter_emits_expected_order ... ok
[INFO] [stdout] test capability::tests::default_is_unknown_and_not_known ... ok
[INFO] [stdout] test chat::fallback::tests::eligible_stream_setup_fallback_propagates_fallback_error ... ok
[INFO] [stdout] test chat::fallback::tests::falls_back_when_default_policy_allows_chat_error ... ok
[INFO] [stdout] test chat::fallback::tests::forwards_same_request_to_fallback_provider ... ok
[INFO] [stdout] test chat::mock::tests::mock_chat_provider_tool_round_trip_returns_tool_then_text ... ok
[INFO] [stdout] test usage::tests::add_assign_works_same_as_add ... ok
[INFO] [stdout] test chat::mock::tests::mock_provider_defaults_to_native_streaming_unknown ... ok
[INFO] [stdout] test chat::mock::tests::mock_streaming_provider_empty_can_be_queued_incrementally ... ok
[INFO] [stdout] test chat::system::tests::system_options_clone_preserves_values ... ok
[INFO] [stdout] test identity::tests::box_forwarding_delegates ... ok
[INFO] [stdout] test options::tests::request_options_get_or_insert_with_does_not_invoke_when_present ... ok
[INFO] [stdout] test options::tests::response_metadata_debug_is_lossy_for_portable_typed_key_collisions ... ok
[INFO] [stdout] test options::tests::response_metadata_debug_is_lossy_for_unserializable_typed_entries ... ok
[INFO] [stdout] test usage::tests::add_some_plus_none_is_some ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 311 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/compat_content.rs (/opt/rustwide/target/debug/deps/compat_content-957cddfefc0640a2)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test finish_reason_serialization_uses_stable_strings ... ok
[INFO] [stdout] test finish_reason_unknown_string_deserializes_to_other ... ok
[INFO] [stdout] test content_block_other_round_trips_unknown_type_name ... ok
[INFO] [stdout] test content_part_serialization_is_flat_and_tagged ... ok
[INFO] [stdout] test content_part_other_round_trips_unknown_type_name ... ok
[INFO] [stdout] test content_block_serialization_is_flat_and_tagged ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/compat_error.rs (/opt/rustwide/target/debug/deps/compat_error-f2a6bc9beb0b982c)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test error_serde_uses_flat_human_friendly_shape ... ok
[INFO] [stdout] test error_log_contract_is_stable_for_structured_variants ... ok
[INFO] [stdout] test error_serde_preserves_provider_body ... ok
[INFO] [stdout] test error_serde_round_trips_public_variants ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/compat_message.rs (/opt/rustwide/target/debug/deps/compat_message-a5a4fbd68fb84fad)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test message_deserialize_accepts_legacy_extra_field ... ok
[INFO] [stdout] test assistant_message_serializes_content_blocks_and_extensions ... ok
[INFO] [stdout] test tool_message_serializes_is_error_only_when_present ... ok
[INFO] [stdout] test message_deserialize_promotes_unknown_fields_into_extensions ... ok
[INFO] [stdout] test user_multimodal_message_serializes_with_name_and_parts ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/compat_request_response.rs (/opt/rustwide/target/debug/deps/compat_request_response-1e60d01cf7d32642)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test reasoning_config_serialization_is_stable ... ok
[INFO] [stdout] test response_format_serialization_is_stable ... ok
[INFO] [stderr]      Running tests/compat_stream.rs (/opt/rustwide/target/debug/deps/compat_stream-7bb1143a2c145df9)
[INFO] [stdout] test usage_serialization_is_stable ... ok
[INFO] [stdout] test chat_response_log_value_is_stable ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test stream_collector_finish_is_strict_about_missing_block_stop ... ok
[INFO] [stdout] test stream_completeness_serialization_is_stable ... ok
[INFO] [stdout] test stream_collector_finish_partial_preserves_incomplete_non_tool_content ... ok
[INFO] [stdout] test stream_collector_reconstructs_ordered_response_contract ... ok
[INFO] [stdout] test stream_event_serialization_is_stable ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/compat_tool.rs (/opt/rustwide/target/debug/deps/compat_tool-a8f1be06ef9a31c4)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tool_choice_serialization_is_stable ... ok
[INFO] [stdout] test tool_serialization_uses_description_and_extensions_fields ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/embedding_prelude.rs (/opt/rustwide/target/debug/deps/embedding_prelude-18ddf19d121b962d)
[INFO] [stderr]      Running tests/tracing_tests.rs (/opt/rustwide/target/debug/deps/tracing_tests-a04939e9b4bf8e15)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/anyllm_anthropic-5339ae97075e693a)
[INFO] [stdout] 
[INFO] [stdout] running 110 tests
[INFO] [stdout] test cache_control::tests::clone_and_equality ... ok
[INFO] [stdout] test cache_control::tests::ephemeral_wire_shape ... ok
[INFO] [stdout] test cache_control::tests::ephemeral_constructor ... ok
[INFO] [stdout] test error::tests::api_error_context_length_maps_to_context_length_exceeded ... ok
[INFO] [stdout] test conformance_tests::tests::request_fixture_matches ... ok
[INFO] [stdout] test error::tests::api_error_overloaded_maps_to_overloaded ... ok
[INFO] [stdout] test error::tests::api_error_invalid_request_maps_to_invalid_request ... ok
[INFO] [stdout] test conformance_tests::tests::structured_response_format_is_rejected ... ok
[INFO] [stdout] test error::tests::api_error_auth_maps_to_auth ... ok
[INFO] [stdout] test conformance_tests::tests::response_fixture_matches ... ok
[INFO] [stdout] test conformance_tests::tests::error_fixtures_match ... ok
[INFO] [stdout] test error::tests::api_error_rate_limit_maps_to_rate_limited ... ok
[INFO] [stdout] test error::tests::api_error_server_error_maps_to_provider ... ok
[INFO] [stdout] test error::tests::api_error_permission_maps_to_auth ... ok
[INFO] [stdout] test error::tests::falls_back_to_raw_body_when_not_structured ... ok
[INFO] [stdout] test error::tests::maps_400_content_filtering_to_content_filtered ... ok
[INFO] [stdout] test conformance_tests::tests::stream_fixture_matches ... ok
[INFO] [stdout] test error::tests::deserialize_timeout_maps_to_timeout ... ok
[INFO] [stdout] test error::tests::maps_400_other_to_invalid_request ... ok
[INFO] [stdout] test error::tests::maps_400_prompt_too_long_to_context_length_exceeded ... ok
[INFO] [stdout] test error::tests::maps_401_to_auth ... ok
[INFO] [stdout] test error::tests::maps_429_to_rate_limited ... ok
[INFO] [stdout] test conformance_tests::tests::truncated_stream_fixture_reports_strict_error_and_partial_recovery ... ok
[INFO] [stdout] test error::tests::maps_403_to_auth ... ok
[INFO] [stdout] test error::tests::maps_400_too_many_tokens_to_context_length_exceeded ... ok
[INFO] [stdout] test error::tests::api_error_unknown_type_falls_back_to_stream ... ok
[INFO] [stdout] test error::tests::maps_404_to_invalid_request ... ok
[INFO] [stdout] test error::tests::maps_502_to_provider ... ok
[INFO] [stdout] test error::tests::maps_503_to_overloaded ... ok
[INFO] [stdout] test error::tests::maps_unknown_status_to_provider ... ok
[INFO] [stdout] test error::tests::maps_500_to_provider ... ok
[INFO] [stdout] test error::tests::stream_timeout_maps_to_timeout ... ok
[INFO] [stdout] test streaming::tests::error_in_stream_auth_maps_to_typed_error ... ok
[INFO] [stdout] test streaming::tests::error_in_stream_overloaded_maps_to_typed_error ... ok
[INFO] [stdout] test streaming::tests::error_in_stream_rate_limited_maps_to_typed_error ... ok
[INFO] [stdout] test streaming::tests::image_stream ... ok
[INFO] [stdout] test error::tests::maps_structured_model_not_found_message ... ok
[INFO] [stdout] test streaming::tests::text_only_stream ... ok
[INFO] [stdout] test streaming::tests::message_start_usage_is_snapshot ... ok
[INFO] [stdout] test streaming::tests::error_in_stream_unparseable_falls_back_to_stream_error ... ok
[INFO] [stdout] test streaming::tests::message_delta_usage_is_delta ... ok
[INFO] [stdout] test tests::builder_rejects_empty_api_key ... ok
[INFO] [stdout] test streaming::tests::sse_to_stream_preserves_reasoning_signature ... ok
[INFO] [stdout] test streaming::tests::thinking_stream ... ok
[INFO] [stdout] test error::tests::transport_timeout_maps_to_timeout ... ok
[INFO] [stdout] test error::tests::maps_529_to_overloaded ... ok
[INFO] [stdout] test streaming::tests::tool_use_stream ... ok
[INFO] [stdout] test tests::default_timeout_is_only_applied_to_non_streaming_requests ... ok
[INFO] [stdout] test wire::tests::converts_multimodal_user_image_only_message ... ok
[INFO] [stdout] test tests::builder_requires_api_key ... ok
[INFO] [stdout] test wire::tests::converts_multimodal_user_mixed_text_and_base64_image ... ok
[INFO] [stdout] test tests::from_env_rejects_empty_api_key ... ok
[INFO] [stdout] test wire::tests::converts_response_with_null_stop_reason ... ok
[INFO] [stdout] test streaming::tests::cache_tokens_in_message_start ... ok
[INFO] [stdout] test wire::tests::converts_multimodal_user_text_parts ... ok
[INFO] [stdout] test tests::new_with_base_url_rejects_empty_base_url ... ok
[INFO] [stdout] test wire::tests::converts_text_response ... ok
[INFO] [stdout] test tests::new_rejects_empty_api_key ... ok
[INFO] [stdout] test wire::tests::converts_image_response ... ok
[INFO] [stdout] test wire::tests::converts_simple_user_message ... ok
[INFO] [stdout] test wire::tests::converts_assistant_message_with_reasoning ... ok
[INFO] [stdout] test wire::tests::converts_tool_use_response ... ok
[INFO] [stdout] test wire::tests::converts_thinking_response ... ok
[INFO] [stdout] test wire::tests::deserialize_response_with_cache_usage ... ok
[INFO] [stdout] test wire::tests::deserialize_thinking_response ... ok
[INFO] [stdout] test wire::tests::converts_assistant_message_with_tool_calls ... ok
[INFO] [stdout] test wire::tests::deserialize_text_response ... ok
[INFO] [stdout] test wire::tests::deserialize_tool_use_response ... ok
[INFO] [stdout] test wire::tests::converts_tool_result_to_user_role ... ok
[INFO] [stdout] test wire::tests::does_not_merge_alternating_roles ... ok
[INFO] [stdout] test wire::tests::converts_tool_error_message ... ok
[INFO] [stdout] test wire::tests::deserialize_response_with_null_stop_reason ... ok
[INFO] [stdout] test wire::tests::empty_stop_sequences_maps_to_none ... ok
[INFO] [stdout] test wire::tests::flushes_tool_result_group_at_non_tool_boundaries ... ok
[INFO] [stdout] test wire::tests::hoists_system_messages_to_top_level ... ok
[INFO] [stdout] test wire::tests::groups_consecutive_tool_results_into_one_user_message ... ok
[INFO] [stdout] test wire::tests::maps_reasoning_config_enabled ... ok
[INFO] [stdout] test wire::tests::empty_tools_vec_maps_to_none ... ok
[INFO] [stdout] test wire::tests::hoists_multiple_system_messages ... ok
[INFO] [stdout] test wire::tests::maps_optional_fields ... ok
[INFO] [stdout] test wire::tests::merges_user_after_tool_result_flush ... ok
[INFO] [stdout] test wire::tests::maps_tools_to_api_definitions ... ok
[INFO] [stdout] test wire::tests::reasoning_disabled_maps_to_none ... ok
[INFO] [stdout] test wire::tests::rejects_assistant_image_replay ... ok
[INFO] [stdout] test wire::tests::merges_consecutive_user_messages ... ok
[INFO] [stdout] test wire::tests::parses_known_stop_reasons ... ok
[INFO] [stdout] test wire::tests::parses_unknown_stop_reason_as_other ... ok
[INFO] [stdout] test wire::tests::reasoning_enabled_without_budget_uses_default ... ok
[INFO] [stdout] test wire::tests::rejects_invalid_json_in_assistant_tool_call_arguments ... ok
[INFO] [stdout] test wire::tests::rejects_reasoning_budget_that_cannot_be_bumped ... ok
[INFO] [stdout] test wire::tests::rejects_unsupported_user_part_type ... ok
[INFO] [stdout] test wire::tests::provider_options_set_anthropic_top_k ... ok
[INFO] [stdout] test wire::tests::req_system_prompt_emitted_as_top_level_system_block ... ok
[INFO] [stdout] test wire::tests::rejects_unsupported_portable_request_controls ... ok
[INFO] [stdout] test wire::tests::serialize_minimal_request ... ok
[INFO] [stdout] test wire::tests::system_message_with_cache_control ... ok
[INFO] [stdout] test wire::tests::req_system_cache_control_option_is_emitted ... ok
[INFO] [stdout] test wire::tests::req_system_empty_content_is_filtered ... ok
[INFO] [stdout] test wire::tests::req_system_multiple_prompts_preserve_order ... ok
[INFO] [stdout] test wire::tests::req_system_unknown_option_is_silently_ignored ... ok
[INFO] [stdout] test wire::tests::serialize_full_request ... ok
[INFO] [stdout] test wire::tests::tool_choice_disabled_omits_tools ... ok
[INFO] [stdout] test wire::tests::tool_choice_specific_maps_to_tool ... ok
[INFO] [stdout] test wire::tests::tool_choice_required_maps_to_any ... ok
[INFO] [stdout] test tests::builder_normalizes_base_url ... ok
[INFO] [stdout] test tests::base_url_is_normalized_when_constructed ... ok
[INFO] [stdout] test tests::builtin_anthropic_capabilities_report_native_streaming ... ok
[INFO] [stdout] test tests::chat_capability_resolver_overrides_builtin_answer ... ok
[INFO] [stdout] test tests::builder_rejects_empty_base_url ... ok
[INFO] [stdout] test tests::later_chat_capability_resolver_replaces_earlier_one ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 110 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.29s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/e2e.rs (/opt/rustwide/target/debug/deps/e2e-ae53ac19f832f3b0)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test basic_chat ... ignored
[INFO] [stdout] test extract ... ignored
[INFO] [stdout] test multi_turn ... ignored
[INFO] [stdout] test streaming ... ignored
[INFO] [stdout] test system_prompt ... ignored
[INFO] [stdout] test tool_calling ... ignored
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 6 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/http_integration.rs (/opt/rustwide/target/debug/deps/http_integration-36bbe593a846b07f)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test chat_stream_clean_eof_reports_incomplete_stream ... ok
[INFO] [stdout] test chat_ignores_invalid_retry_after_header ... ok
[INFO] [stdout] test chat_maps_non_success_status_to_typed_error ... ok
[INFO] [stdout] test chat_stream_uses_stream_mode_and_collects_fixture ... ok
[INFO] [stdout] test chat_posts_expected_request_and_parses_response ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.26s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/anyllm_cloudflare_worker-6bb14e3ec0b7f68b)
[INFO] [stdout] 
[INFO] [stdout] running 40 tests
[INFO] [stdout] test chat::tests::provider_identity_is_cloudflare ... ok
[INFO] [stdout] test embedding::tests::request_conversion_forwards_inputs ... ok
[INFO] [stdout] test error::tests::falls_back_to_provider_error ... ok
[INFO] [stdout] test embedding::tests::request_rejects_empty_inputs ... ok
[INFO] [stdout] test embedding::tests::request_rejects_dimension_override ... ok
[INFO] [stdout] test error::tests::maps_content_filtered_errors ... ok
[INFO] [stdout] test error::tests::maps_auth_errors ... ok
[INFO] [stdout] test conformance_tests::tests::tool_response_fixture_matches ... ok
[INFO] [stdout] test error::tests::maps_context_length_errors ... ok
[INFO] [stdout] test conformance_tests::tests::response_fixture_matches ... ok
[INFO] [stdout] test conformance_tests::tests::request_fixture_matches ... ok
[INFO] [stdout] test conformance_tests::tests::stream_fixture_matches ... ok
[INFO] [stdout] test conformance_tests::tests::truncated_stream_reports_incomplete_response ... ok
[INFO] [stdout] test conformance_tests::tests::structured_response_fixture_matches ... ok
[INFO] [stdout] test error::tests::maps_model_not_found_errors ... ok
[INFO] [stdout] test error::tests::maps_overloaded_errors ... ok
[INFO] [stdout] test error::tests::maps_rate_limit_errors ... ok
[INFO] [stdout] test error::tests::maps_timeout_errors ... ok
[INFO] [stdout] test streaming::tests::done_sentinel_emits_terminal_events_once ... ok
[INFO] [stdout] test streaming::tests::eof_without_done_leaves_response_incomplete ... ok
[INFO] [stdout] test embedding::tests::response_conversion_preserves_vectors ... ok
[INFO] [stdout] test wire::tests::json_schema_name_and_strict_are_rejected ... ok
[INFO] [stdout] test wire::tests::reasoning_controls_are_rejected ... ok
[INFO] [stdout] test streaming::tests::utf8_split_across_chunks_is_buffered_until_complete ... ok
[INFO] [stdout] test wire::tests::streaming_rejects_response_format ... ok
[INFO] [stdout] test wire::tests::streaming_rejects_tools ... ok
[INFO] [stdout] test wire::tests::request_conversion_preserves_supported_controls ... ok
[INFO] [stdout] test wire::tests::tool_choice_controls_are_rejected ... ok
[INFO] [stdout] test wire::tests::user_image_part_is_rejected_instead_of_silently_dropped ... ok
[INFO] [stdout] test wire::tests::assistant_other_block_is_rejected_instead_of_silently_dropped ... ok
[INFO] [stdout] test wire::tests::stop_sequences_are_rejected ... ok
[INFO] [stdout] test wire::tests::parallel_tool_call_controls_are_rejected ... ok
[INFO] [stdout] test wire::tests::assistant_image_replay_is_rejected_instead_of_silently_dropped ... ok
[INFO] [stdout] test wire::tests::user_multimodal_text_parts_join_with_newlines ... ok
[INFO] [stdout] test wire::tests::user_other_part_is_rejected_instead_of_silently_dropped ... ok
[INFO] [stdout] test wire::tests::structured_json_response_is_serialized_into_text_content ... ok
[INFO] [stdout] test wire::tests::synthetic_tool_call_ids_are_unique_per_response_conversion ... ok
[INFO] [stdout] test wire::tests::tool_call_response_sets_tool_calls_finish_reason ... ok
[INFO] [stdout] test wire::tests::assistant_reasoning_replay_is_rejected_instead_of_silently_dropped ... ok
[INFO] [stdout] test conformance_tests::tests::error_fixtures_match ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 40 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/anyllm_conformance-5acfb7473c8cd7f7)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test embedding_assertion_tests::response_fixture_eq_passes_for_matching_json ... ok
[INFO] [stdout] test embedding_assertion_tests::response_fixture_eq_panics_on_mismatch - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/anyllm_examples-f0e8cbbdc4889fc1)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test tests::embedding_kind_parse_rejects_anthropic_with_helpful_message ... ok
[INFO] [stdout] test tests::embedding_usage_lists_only_openai_and_gemini ... ok
[INFO] [stdout] test tests::usage_lists_provider_envs ... ok
[INFO] [stdout] test tests::load_embedding_provider_from_env_rejects_ambiguous_selection ... ok
[INFO] [stdout] test tests::load_embedding_provider_for_example_appends_example_specific_usage ... ok
[INFO] [stdout] test tests::load_embedding_provider_from_env_autoselects_single_configured_provider ... ok
[INFO] [stdout] test tests::load_provider_from_env_autoselects_single_configured_provider ... ok
[INFO] [stderr]      Running tests/providers.rs (/opt/rustwide/target/debug/deps/providers-5789cb022ffb7ebb)
[INFO] [stdout] test tests::load_embedding_provider_from_env_rejects_when_no_provider_is_configured ... ok
[INFO] [stdout] test tests::load_provider_from_env_rejects_ambiguous_selection ... ok
[INFO] [stdout] test tests::load_provider_for_example_appends_example_specific_usage ... ok
[INFO] [stdout] test tests::load_provider_from_env_rejects_when_no_provider_is_configured ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test support::tests::accepts_known_live_selection_entries ... ok
[INFO] [stdout] test support::tests::rejects_empty_live_selection_entry ... ok
[INFO] [stdout] test live_http_providers_smoke ... ok
[INFO] [stdout] test support::tests::rejects_unknown_live_selection_entry ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/support.rs (/opt/rustwide/target/debug/deps/support-26f205ed0f952b33)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test tests::rejects_empty_live_selection_entry ... ok
[INFO] [stdout] test tests::rejects_unknown_live_selection_entry ... ok
[INFO] [stdout] test tests::accepts_known_live_selection_entries ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/anyllm_gemini-78e8296cd724d17b)
[INFO] [stdout] 
[INFO] [stdout] running 101 tests
[INFO] [stdout] test conformance_tests::tests::embed_request_fixture_matches ... ok
[INFO] [stdout] test conformance_tests::tests::embed_response_fixture_matches ... ok
[INFO] [stdout] test conformance_tests::tests::request_fixture_matches ... ok
[INFO] [stdout] test conformance_tests::tests::response_fixture_matches ... ok
[INFO] [stdout] test conformance_tests::tests::error_fixtures_match ... ok
[INFO] [stdout] test error::tests::falls_back_to_raw_body_when_not_structured ... ok
[INFO] [stdout] test error::tests::maps_401_to_auth ... ok
[INFO] [stdout] test error::tests::maps_400_model_missing_message_to_model_not_found ... ok
[INFO] [stdout] test embedding::tests::from_api_response_preserves_order_and_model ... ok
[INFO] [stdout] test error::tests::maps_429_to_rate_limited ... ok
[INFO] [stdout] test error::tests::maps_404_to_model_not_found ... ok
[INFO] [stdout] test error::tests::maps_500_to_provider ... ok
[INFO] [stdout] test error::tests::maps_403_to_auth ... ok
[INFO] [stdout] test conformance_tests::tests::stream_fixture_matches ... ok
[INFO] [stdout] test error::tests::maps_context_length_message_to_context_length_exceeded ... ok
[INFO] [stdout] test error::tests::maps_503_to_overloaded ... ok
[INFO] [stdout] test error::tests::maps_permission_denied_status_to_auth ... ok
[INFO] [stdout] test error::tests::maps_safety_message_to_content_filtered ... ok
[INFO] [stdout] test error::tests::transport_timeout_maps_to_timeout ... ok
[INFO] [stdout] test error::tests::stream_timeout_maps_to_timeout ... ok
[INFO] [stdout] test streaming::tests::blocked_prompt_feedback_maps_to_content_filtered_error ... ok
[INFO] [stdout] test streaming::tests::image_part_emits_image_block ... ok
[INFO] [stdout] test streaming::tests::eof_without_finish_reason_still_collects_response ... ok
[INFO] [stdout] test streaming::tests::empty_data_produces_no_events ... ok
[INFO] [stdout] test streaming::tests::safety_finish_reason_maps_to_content_filter ... ok
[INFO] [stdout] test streaming::tests::terminal_chunk_usage_uses_snapshot_mode ... ok
[INFO] [stdout] test streaming::tests::mixed_content_stream_preserves_provider_block_order ... ok
[INFO] [stdout] test streaming::tests::malformed_json_produces_stream_error ... ok
[INFO] [stdout] test streaming::tests::parallel_tool_calls_in_single_chunk ... ok
[INFO] [stdout] test embedding::tests::to_api_request_rejects_empty_inputs ... ok
[INFO] [stdout] test streaming::tests::thought_parts_become_reasoning_deltas ... ok
[INFO] [stdout] test streaming::tests::text_only_stream_accumulated ... ok
[INFO] [stdout] test conformance_tests::tests::truncated_stream_fixture_collects_after_eof_finalization ... ok
[INFO] [stdout] test streaming::tests::tool_call_stream_complete_args_in_single_chunk ... ok
[INFO] [stdout] test streaming::tests::usage_only_chunk_emits_usage ... ok
[INFO] [stdout] test streaming::tests::usage_only_chunk_uses_snapshot_mode ... ok
[INFO] [stdout] test tests::default_timeout_is_only_applied_to_non_streaming_requests ... ok
[INFO] [stdout] test streaming::tests::truncated_tool_call_stream_collects_completed_tool_call ... ok
[INFO] [stdout] test tests::from_env_rejects_empty_api_key ... ok
[INFO] [stdout] test streaming::tests::truncated_text_stream_collects_after_eof_finalization ... ok
[INFO] [stdout] test tests::builder_rejects_empty_api_key ... ok
[INFO] [stdout] test tests::builder_requires_api_key ... ok
[INFO] [stdout] test tests::new_with_base_url_rejects_empty_base_url ... ok
[INFO] [stdout] test wire::tests::assistant_with_only_reasoning_skipped ... ok
[INFO] [stdout] test wire::tests::blocked_prompt_maps_to_content_filtered ... ok
[INFO] [stdout] test wire::tests::concatenates_multiple_system_messages ... ok
[INFO] [stdout] test wire::tests::converts_assistant_image_to_request_part ... ok
[INFO] [stdout] test wire::tests::converts_assistant_text ... ok
[INFO] [stdout] test wire::tests::converts_assistant_tool_call_to_function_call_part ... ok
[INFO] [stdout] test wire::tests::converts_inline_image_response ... ok
[INFO] [stdout] test wire::tests::converts_simple_user_message ... ok
[INFO] [stdout] test wire::tests::converts_text_response ... ok
[INFO] [stdout] test wire::tests::converts_thought_part_to_reasoning_block ... ok
[INFO] [stdout] test wire::tests::converts_tool_result_uses_matching_prior_assistant_when_ids_repeat_across_turns ... ok
[INFO] [stdout] test wire::tests::converts_tool_result_using_function_name_from_history ... ok
[INFO] [stdout] test wire::tests::drops_reasoning_blocks_from_assistant_content ... ok
[INFO] [stdout] test wire::tests::empty_candidates_yield_empty_response ... ok
[INFO] [stdout] test wire::tests::empty_tools_vec_maps_to_none ... ok
[INFO] [stdout] test wire::tests::error_tool_result_uses_error_key ... ok
[INFO] [stdout] test wire::tests::extracts_system_messages_to_system_instruction ... ok
[INFO] [stdout] test wire::tests::maps_max_tokens_to_max_output_tokens ... ok
[INFO] [stdout] test wire::tests::maps_reasoning_budget_tokens ... ok
[INFO] [stdout] test wire::tests::maps_reasoning_effort_high_to_budget_24576 ... ok
[INFO] [stdout] test wire::tests::maps_reasoning_effort_low_to_budget_1024 ... ok
[INFO] [stdout] test wire::tests::maps_response_format_json ... ok
[INFO] [stdout] test tests::new_rejects_empty_api_key ... ok
[INFO] [stdout] test wire::tests::maps_response_format_json_schema ... ok
[INFO] [stdout] test wire::tests::assigns_deterministic_call_ids_to_parallel_tool_calls ... ok
[INFO] [stdout] test wire::tests::maps_temperature_and_top_p ... ok
[INFO] [stdout] test wire::tests::consecutive_tool_results_are_sorted_by_gemini_call_index ... ok
[INFO] [stdout] test wire::tests::maps_tools_into_single_gemini_tool ... ok
[INFO] [stdout] test wire::tests::merges_consecutive_user_messages ... ok
[INFO] [stdout] test wire::tests::no_generation_config_when_all_none ... ok
[INFO] [stdout] test wire::tests::preserves_alternating_turns ... ok
[INFO] [stdout] test wire::tests::parses_gemini_finish_reasons ... ok
[INFO] [stdout] test wire::tests::converts_function_call_response ... ok
[INFO] [stdout] test wire::tests::provider_options_override_generation_config_and_cached_content ... ok
[INFO] [stdout] test wire::tests::reasoning_disabled_omits_thinking_config ... ok
[INFO] [stdout] test wire::tests::rejects_image_url_without_known_extension ... ok
[INFO] [stdout] test wire::tests::rejects_candidate_count_greater_than_one ... ok
[INFO] [stdout] test wire::tests::provider_only_generation_options_still_emit_generation_config ... ok
[INFO] [stdout] test wire::tests::req_system_empty_emits_no_system_instruction ... ok
[INFO] [stdout] test wire::tests::req_system_multiple_prompts_joined_with_double_newline ... ok
[INFO] [stdout] test wire::tests::req_system_prompt_emitted_as_system_instruction ... ok
[INFO] [stdout] test wire::tests::tool_choice_auto ... ok
[INFO] [stdout] test wire::tests::tool_choice_disabled_maps_to_none_mode ... ok
[INFO] [stdout] test wire::tests::tool_choice_required_maps_to_any_mode ... ok
[INFO] [stdout] test wire::tests::req_system_empty_content_elided_from_system_instruction ... ok
[INFO] [stdout] test wire::tests::tool_choice_specific_maps_to_any_with_allowed_names ... ok
[INFO] [stdout] test wire::tests::tool_result_uses_name_field_for_function_response ... ok
[INFO] [stdout] test conformance_tests::tests::embed_error_fixtures_match ... ok
[INFO] [stdout] test embedding::tests::to_api_request_prefixes_model_when_missing ... ok
[INFO] [stdout] test embedding::tests::to_api_request_preserves_explicit_models_prefix ... ok
[INFO] [stdout] test error::tests::deserialize_timeout_maps_to_timeout ... ok
[INFO] [stdout] test tests::later_chat_capability_resolver_replaces_earlier_one ... ok
[INFO] [stdout] test tests::base_url_is_normalized_when_constructed ... ok
[INFO] [stdout] test tests::chat_capability_resolver_overrides_builtin_answer ... ok
[INFO] [stdout] test tests::builder_normalizes_base_url ... ok
[INFO] [stdout] test tests::builtin_capabilities_report_parallel_tools_and_image_replay ... ok
[INFO] [stdout] test tests::builder_rejects_empty_base_url ... ok
[INFO] [stdout] test tests::builtin_gemini_capabilities_report_native_streaming ... ok
[INFO] [stdout] 
[INFO] [stderr]      Running tests/e2e.rs (/opt/rustwide/target/debug/deps/e2e-c049cc892d8ff56b)
[INFO] [stdout] test result: ok. 101 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.33s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test basic_chat ... ignored
[INFO] [stdout] test basic_embed ... ignored
[INFO] [stdout] test batch_embed ... ignored
[INFO] [stdout] test dimensions ... ignored
[INFO] [stdout] test extract ... ignored
[INFO] [stdout] test multi_turn ... ignored
[INFO] [stdout] test streaming ... ignored
[INFO] [stdout] test system_prompt ... ignored
[INFO] [stdout] test tool_calling ... ignored
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 9 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/http_integration.rs (/opt/rustwide/target/debug/deps/http_integration-2b2e711a68f0b492)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test chat_rejects_blocked_prompt_feedback ... ok
[INFO] [stdout] test chat_stream_uses_stream_endpoint_and_collects_fixture ... ok
[INFO] [stdout] test chat_posts_expected_request_and_parses_response ... ok
[INFO] [stdout] test embed_posts_expected_request_and_parses_response ... ok
[INFO] [stdout] test chat_accepts_success_response_without_candidates ... ok
[INFO] [stdout] test chat_maps_non_success_status_to_typed_error ... ok
[INFO] [stdout] test chat_ignores_invalid_retry_after_header ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.38s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/anyllm_openai-e42b1bbd5dbb6af8)
[INFO] [stdout] 
[INFO] [stdout] running 78 tests
[INFO] [stdout] test conformance_tests::tests::embed_response_fixture_matches ... ok
[INFO] [stdout] test error::tests::maps_503_to_overloaded ... ok
[INFO] [stdout] test error::tests::maps_429_to_rate_limited ... ok
[INFO] [stdout] test error::tests::maps_404_model_not_found_to_model_not_found ... ok
[INFO] [stdout] test error::tests::maps_400_model_not_found_code_to_model_not_found ... ok
[INFO] [stdout] test error::tests::maps_content_filter_code_to_content_filtered ... ok
[INFO] [stdout] test error::tests::deserialize_timeout_maps_to_timeout ... ok
[INFO] [stdout] test error::tests::maps_context_length_message_to_context_length_exceeded ... ok
[INFO] [stdout] test error::tests::transport_timeout_maps_to_timeout ... ok
[INFO] [stdout] test conformance_tests::tests::embed_request_fixture_matches ... ok
[INFO] [stdout] test error::tests::stream_timeout_maps_to_timeout ... ok
[INFO] [stdout] test error::tests::maps_500_to_provider ... ok
[INFO] [stdout] test error::tests::maps_401_to_auth ... ok
[INFO] [stdout] test streaming::tests::malformed_json_produces_error ... ok
[INFO] [stdout] test error::tests::non_timeout_transport_maps_to_provider ... ok
[INFO] [stdout] test conformance_tests::tests::embed_error_fixtures_match ... ok
[INFO] [stdout] test streaming::tests::usage_with_cached_and_reasoning_tokens ... ok
[INFO] [stdout] test conformance_tests::tests::error_fixtures_match ... ok
[INFO] [stdout] test error::tests::falls_back_to_raw_body_when_not_structured ... ok
[INFO] [stdout] test tests::builder_rejects_empty_api_key ... ok
[INFO] [stdout] test error::tests::maps_403_to_auth ... ok
[INFO] [stdout] test conformance_tests::tests::request_fixture_matches ... ok
[INFO] [stdout] test conformance_tests::tests::response_fixture_matches ... ok
[INFO] [stdout] test error::tests::maps_context_length_code_to_context_length_exceeded ... ok
[INFO] [stdout] test tests::default_timeout_is_only_applied_to_non_streaming_requests ... ok
[INFO] [stdout] test tests::from_env_rejects_empty_api_key ... ok
[INFO] [stdout] test streaming::tests::parallel_tool_calls_stream ... ok
[INFO] [stdout] test streaming::tests::text_only_stream ... ok
[INFO] [stdout] test streaming::tests::done_sentinel_produces_response_stop ... ok
[INFO] [stdout] test streaming::tests::tool_use_stream ... ok
[INFO] [stdout] test tests::new_rejects_empty_api_key ... ok
[INFO] [stdout] test streaming::tests::sse_to_stream_tool_use ... ok
[INFO] [stdout] test wire::tests::converts_refusal_as_text ... ok
[INFO] [stdout] test wire::tests::converts_response_with_usage_details ... ok
[INFO] [stdout] test conformance_tests::tests::stream_fixture_matches ... ok
[INFO] [stdout] test wire::tests::converts_simple_user_message ... ok
[INFO] [stdout] test wire::tests::converts_text_response ... ok
[INFO] [stdout] test wire::tests::converts_base64_image_to_data_uri ... ok
[INFO] [stdout] test wire::tests::converts_tool_call_response ... ok
[INFO] [stdout] test conformance_tests::tests::truncated_stream_fixture_reports_strict_error_and_partial_recovery ... ok
[INFO] [stdout] test wire::tests::converts_tool_result_message ... ok
[INFO] [stdout] test streaming::tests::mixed_text_and_tool_stream ... ok
[INFO] [stdout] test wire::tests::drops_reasoning_blocks_from_assistant_message ... ok
[INFO] [stdout] test wire::tests::maps_all_optional_fields ... ok
[INFO] [stdout] test wire::tests::maps_tools_with_strict ... ok
[INFO] [stdout] test wire::tests::parses_known_finish_reasons ... ok
[INFO] [stdout] test wire::tests::provider_options_only_set_provider_specific_transport_fields ... ok
[INFO] [stdout] test wire::tests::reasoning_disabled_maps_to_none ... ok
[INFO] [stdout] test wire::tests::reasoning_effort_derived_from_budget ... ok
[INFO] [stdout] test tests::builder_requires_api_key ... ok
[INFO] [stdout] test wire::tests::reasoning_effort_from_explicit_effort ... ok
[INFO] [stdout] test wire::tests::errors_on_empty_choices ... ok
[INFO] [stdout] test tests::new_with_base_url_rejects_empty_base_url ... ok
[INFO] [stdout] test wire::tests::empty_tools_vec_maps_to_none ... ok
[INFO] [stdout] test wire::tests::assistant_with_only_tool_calls_has_null_content ... ok
[INFO] [stdout] test wire::tests::converts_multimodal_user_with_image_url ... ok
[INFO] [stdout] test wire::tests::reasoning_enabled_no_effort_no_budget_omitted ... ok
[INFO] [stdout] test wire::tests::req_system_emits_system_messages_at_front ... ok
[INFO] [stdout] test wire::tests::req_system_empty_emits_no_system_messages ... ok
[INFO] [stdout] test wire::tests::response_format_json ... ok
[INFO] [stdout] test wire::tests::response_format_json_schema ... ok
[INFO] [stdout] test wire::tests::splits_assistant_content_blocks_into_text_and_tool_calls ... ok
[INFO] [stdout] test wire::tests::tool_choice_auto ... ok
[INFO] [stdout] test wire::tests::tool_results_are_separate_messages ... ok
[INFO] [stdout] test wire::tests::streaming_sets_stream_options ... ok
[INFO] [stdout] test wire::tests::non_streaming_omits_stream_options ... ok
[INFO] [stdout] test wire::tests::parses_unknown_finish_reason_as_other ... ok
[INFO] [stdout] test wire::tests::tool_choice_disabled_sends_none_string ... ok
[INFO] [stdout] test wire::tests::tool_choice_required ... ok
[INFO] [stdout] test wire::tests::tool_choice_specific ... ok
[INFO] [stdout] test wire::tests::system_messages_stay_in_array ... ok
[INFO] [stdout] test tests::builder_normalizes_base_url ... ok
[INFO] [stdout] test tests::builtin_openai_capabilities_are_conservative_for_model_specific_features ... ok
[INFO] [stdout] test tests::chat_capability_resolver_overrides_builtin_answer ... ok
[INFO] [stdout] test tests::base_url_is_normalized_when_constructed ... ok
[INFO] [stdout] test tests::builder_rejects_empty_base_url ... ok
[INFO] [stdout] test tests::builder_discards_blank_optional_headers ... ok
[INFO] [stdout] test tests::later_chat_capability_resolver_replaces_earlier_one ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 78 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.38s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/e2e.rs (/opt/rustwide/target/debug/deps/e2e-efc896f2e6e5f6fe)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test basic_chat ... ignored
[INFO] [stdout] test basic_embed ... ignored
[INFO] [stdout] test batch_embed ... ignored
[INFO] [stdout] test dimensions ... ignored
[INFO] [stdout] test extract ... ignored
[INFO] [stdout] test multi_turn ... ignored
[INFO] [stdout] test streaming ... ignored
[INFO] [stdout] test structured_output ... ignored
[INFO] [stdout] test system_prompt ... ignored
[INFO] [stdout] test tool_calling ... ignored
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 10 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/http_integration.rs (/opt/rustwide/target/debug/deps/http_integration-b19fcefe805e2c24)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test chat_maps_non_success_status_to_typed_error ... ok
[INFO] [stdout] test chat_posts_expected_request_and_parses_response ... ok
[INFO] [stdout] test embed_maps_401_to_auth_error ... ok
[INFO] [stdout] test chat_stream_uses_stream_mode_and_collects_fixture ... ok
[INFO] [stdout] test chat_stream_clean_eof_reports_incomplete_stream ... ok
[INFO] [stdout] test embed_posts_expected_request_and_parses_response ... ok
[INFO] [stdout] test chat_posts_openai_vision_request_shape ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.36s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/anyllm_openai_compat-68b891a1a3669b8e)
[INFO] [stdout] 
[INFO] [stdout] running 36 tests
[INFO] [stdout] test providers::cloudflare::tests::new_rejects_blank_account_id ... ok
[INFO] [stdout] test providers::cloudflare::tests::new_rejects_blank_api_token ... ok
[INFO] [stdout] test tests::builder_requires_base_url ... ok
[INFO] [stdout] test tests::builder_rejects_empty_base_url ... ok
[INFO] [stdout] test tests::builder_requires_auth ... ok
[INFO] [stdout] test embedding::tests::to_wire_request_rejects_empty_inputs ... ok
[INFO] [stdout] test embedding::tests::from_wire_response_orders_by_index_and_maps_usage ... ok
[INFO] [stdout] test tests::transport_config_builds_chat_completions_url ... ok
[INFO] [stdout] test tests::transport_config_builds_embeddings_url ... ok
[INFO] [stdout] test wire::tests::chat_completion_message_coerces_object_content_to_json_string ... ok
[INFO] [stdout] test wire::tests::chat_completion_message_accepts_string_content ... ok
[INFO] [stdout] test wire::tests::chat_completion_message_handles_missing_and_null_content ... ok
[INFO] [stdout] test tests::extracts_retry_after_from_configured_header ... ok
[INFO] [stdout] test tests::ignores_negative_retry_after_from_configured_header ... ok
[INFO] [stdout] test tests::extracts_request_id_from_configured_header ... ok
[INFO] [stdout] test tests::ignores_non_finite_retry_after_from_configured_header ... ok
[INFO] [stdout] test wire::tests::inject_strict_adds_additional_properties_to_simple_object ... ok
[INFO] [stdout] test wire::tests::inject_strict_detects_object_by_properties_key ... ok
[INFO] [stdout] test wire::tests::inject_strict_handles_anyof_oneof_allof ... ok
[INFO] [stdout] test tests::response_conversion_supports_metadata_hook ... ok
[INFO] [stdout] test wire::tests::inject_strict_handles_array_items ... ok
[INFO] [stdout] test wire::tests::inject_strict_preserves_explicit_additional_properties ... ok
[INFO] [stdout] test wire::tests::inject_strict_recurses_into_nested_objects ... ok
[INFO] [stdout] test wire::tests::req_system_empty_content_is_filtered ... ok
[INFO] [stdout] test wire::tests::req_system_emits_system_messages_at_front ... ok
[INFO] [stdout] test wire::tests::inject_strict_leaves_non_object_nodes_alone ... ok
[INFO] [stdout] test wire::tests::req_system_empty_emits_no_system_messages ... ok
[INFO] [stdout] test embedding::tests::to_wire_request_serializes_inputs_and_dimensions ... ok
[INFO] [stdout] test providers::cloudflare::tests::cloudflare_defaults_include_embedding_capabilities ... ok
[INFO] [stdout] test providers::cloudflare::tests::builder_accepts_valid_credentials ... ok
[INFO] [stdout] test tests::embed_posts_expected_request_and_parses_response ... ok
[INFO] [stdout] test tests::custom_auth_header ... ok
[INFO] [stdout] test tests::builder_normalizes_base_url ... ok
[INFO] [stdout] test providers::cloudflare::tests::cloudflare_defaults_include_native_streaming ... ok
[INFO] [stdout] test tests::chat_capability_resolver_takes_precedence_over_configured_capabilities ... ok
[INFO] [stdout] test tests::embedding_capability_reads_builder_config ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 36 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.44s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/e2e.rs (/opt/rustwide/target/debug/deps/e2e-3076bec400d9c570)
[INFO] [stdout] 
[INFO] [stderr]      Running tests/e2e_cloudflare.rs (/opt/rustwide/target/debug/deps/e2e_cloudflare-82a35352f51e890b)
[INFO] [stdout] running 9 tests
[INFO] [stdout] test basic_chat ... ignored
[INFO] [stdout] test basic_embed ... ignored
[INFO] [stdout] test batch_embed ... ignored
[INFO] [stdout] test dimensions ... ignored
[INFO] [stdout] test multi_turn ... ignored
[INFO] [stdout] test streaming ... ignored
[INFO] [stdout] test structured_output ... ignored
[INFO] [stdout] test system_prompt ... ignored
[INFO] [stdout] test tool_calling ... ignored
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 9 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stderr]      Running tests/embedding_integration.rs (/opt/rustwide/target/debug/deps/embedding_integration-2f03b9d55d13f8d4)
[INFO] [stdout] test basic_chat ... ignored
[INFO] [stdout] test basic_embed ... ignored
[INFO] [stdout] test batch_embed ... ignored
[INFO] [stdout] test dimensions ... ignored
[INFO] [stdout] test multi_turn ... ignored
[INFO] [stdout] test streaming ... ignored
[INFO] [stdout] test structured_output ... ignored
[INFO] [stdout] test system_prompt ... ignored
[INFO] [stdout] test tool_calling ... ignored
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 9 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test cloudflare_openai_compat_embed_posts_expected_request ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/reuse_end_to_end.rs (/opt/rustwide/target/debug/deps/reuse_end_to_end-46c148686a3c1474)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr]    Doc-tests anyllm
[INFO] [stdout] test compat_can_power_custom_provider_request_and_stream_translation ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test crates/anyllm/src/lib.rs - (line 66) ... ignored
[INFO] [stdout] test crates/anyllm/src/chat/provider.rs - chat::provider::DynChatProvider (line 190) - compile ... ok
[INFO] [stdout] test crates/anyllm/src/chat/message.rs - chat::message::Message::user (line 78) ... ok
[INFO] [stdout] test crates/anyllm/src/chat/stream.rs - chat::stream::ChatResponse::into_stream_events (line 1000) ... ok
[INFO] [stdout] test crates/anyllm/src/chat/message.rs - chat::message::Message::user (line 69) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.55s; merged doctests compilation took 0.54s
[INFO] [stderr]    Doc-tests anyllm_anthropic
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test crates/anyllm-anthropic/src/lib.rs - (line 10) - compile ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.89s; merged doctests compilation took 0.88s
[INFO] [stderr]    Doc-tests anyllm_cloudflare_worker
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test crates/anyllm-cloudflare-worker/src/lib.rs - (line 11) ... ignored
[INFO] [stdout] test crates/anyllm-cloudflare-worker/src/lib.rs - (line 39) ... ignored
[INFO] [stdout] test crates/anyllm-cloudflare-worker/src/lib.rs - Provider (line 91) ... ignored
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.35s; merged doctests compilation took 0.34s
[INFO] [stderr]    Doc-tests anyllm_conformance
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test crates/anyllm-conformance/src/contract.rs - contract (line 20) - compile ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.81s; merged doctests compilation took 0.79s
[INFO] [stderr]    Doc-tests anyllm_examples
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests anyllm_gemini
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test crates/anyllm-gemini/src/lib.rs - (line 9) - compile ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.73s; merged doctests compilation took 0.71s
[INFO] [stderr]    Doc-tests anyllm_openai
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test crates/anyllm-openai/src/lib.rs - (line 10) - compile ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.74s; merged doctests compilation took 0.72s
[INFO] [stderr]    Doc-tests anyllm_openai_compat
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test crates/anyllm-openai-compat/src/lib.rs - (line 12) - compile ... ok
[INFO] [stdout] test crates/anyllm-openai-compat/src/providers.rs - providers (line 9) - compile ... ok
[INFO] [stdout] test crates/anyllm-openai-compat/src/providers/cloudflare.rs - providers::cloudflare::Cloudflare (line 36) - compile ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.68s; merged doctests compilation took 0.67s
[INFO] running `Command { std: "docker" "inspect" "aa1cb82f1ac844b40c07337b58379c306d12e8544f210adeff629155f0b52a38", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "aa1cb82f1ac844b40c07337b58379c306d12e8544f210adeff629155f0b52a38", kill_on_drop: false }`
[INFO] [stdout] aa1cb82f1ac844b40c07337b58379c306d12e8544f210adeff629155f0b52a38
